package com.xbongbong.paas.pojo;

import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import com.xbongbong.paas.toolbox.wrap.QueryIgnore;
import com.xbongbong.pro.formdata.pojo.SaasSpecialParamPojo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;

/**
 * @ClassName ProcessNodeTaskGetPojo
 * @Description TODO
 * @Author mengna.Deng
 * @Date 2021/12/6 11:19
 * @Version 1.0
 */
@Getter
@Setter
@ToString
public class ProcessNodeTaskGetPojo extends BaseDTO {

    private static final long serialVersionUID = -7621113411908729137L;

    /**
     * 应用id
     */
    private Long appId;

    /**
     * 菜单id
     */
    private Long menuId;
    /**
     * 表单id
     */
    @NotNull(message = "{dto.msg.processNodeTaskGet.formId.NotNull}")
    private Long formId;
    /**
     * 是否是saas 1：saas  2：paas
     */
    @DecimalMin(value = "1", message = "{dto.msg.processNodeTaskGet.saasMark.DecimalMin}")
    @DecimalMax(value = "2", message = "{dto.msg.processNodeTaskGet.saasMark.DecimalMax}")
    @NotNull(message = "{dto.msg.processNodeTaskGet.saasMark.NotNull}")
    private Integer saasMark;

    /**
     * saas业务类型
     */
    private Integer businessType;

    /**
     * 流程任务id
     */
    @NotNull(message = "{dto.msg.processNodeTaskGet.processNodeTaskId.NotNull}")
    private Long processNodeTaskId;

    /**
     * 表单数据
     */
    @NotNull(message = "{dto.msg.processNodeTaskGet.processTaskId.NotNull}")
    private Long processTaskId;

    /**
     * 流程类型
     */
    @NotNull(message = "{dto.msg.processNodeTaskGet.processType.NotNull}")
    private String processType;

    /**
     * 红冲发票用
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private SaasSpecialParamPojo saasSpecialParamPojo;

    private Integer del;
    /**
     * 是否允许查看日志，1允许，0不允许
     */
    private Integer allowViewLog;

    private Boolean fromDingtalk;

    private Boolean fromIndex;

    public ProcessNodeTaskGetPojo(){
        del = 0;
        fromDingtalk = false;
        fromIndex = false;
    }
}
